"""
题目描述: 字符串序列判定/最后一个有效字符 (本题分值100)输入两个字符串S和L，都只包含英文小写字母。
S长度<=100，L长度 <= 500,000。判定S是否是L的有效子串。
判定规则:
S中的每个字符在L中都能找到 (可以不连续)且S在L中字符的前后顺序与S中顺序要保持一致。
(例如，S=”ace"是L="abcde"的一个子序列且有效字符是a、c、e，而"aec"不是有效子序列，且有效字符只有a、e)
输入描述:
输入两个字符串S和L，都只包含英文小写字母。S长度<=100，L长度<=500.000.先输入S，再输入L，每个字符串占一行。
输出描述:
输出S串最后一个有效字符在L中的位置。(首位从0开始计算，无有效字符返回-1)
"""

"""
思路：判断s是否是l的子串（可以不连续）
    用变量存储s串的 当前已匹配索引s_index、最大索引s_max_index
    遍历l这个更长的串，如果 当前字符串char == s[s_index]，那么 s_index += 1
    当s_index == s_max_index时，返回 当前遍历的位置i 即为最后一个匹配的字符位置
    如果遍历完了，s_index 还是不等于 s_max_index，说明没有匹配到，返回0
"""

def main(s, l):
    s_index = 0
    s_max_index = len(s) - 1
    # 遍历l
    for i, char in enumerate(l):
        # 匹配上了一个字符
        if char == s[s_index]:
            # 判断是不是s的最后一个字符
            # 长度为5，索引就是到4
            if s_index == s_max_index:
                return i
            s_index += 1
    return 0


s, l = list(map(str, input().split()))
print(main(s, l))
